home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / include / linux / dlm.h < prev    next >
C/C++ Source or Header  |  2009-10-16  |  3KB  |  78 lines

  1. /******************************************************************************
  2. *******************************************************************************
  3. **
  4. **  Copyright (C) Sistina Software, Inc.  1997-2003  All rights reserved.
  5. **  Copyright (C) 2004-2008 Red Hat, Inc.  All rights reserved.
  6. **
  7. **  This copyrighted material is made available to anyone wishing to use,
  8. **  modify, copy, or redistribute it subject to the terms and conditions
  9. **  of the GNU General Public License v.2.
  10. **
  11. *******************************************************************************
  12. ******************************************************************************/
  13.  
  14. #ifndef __DLM_DOT_H__
  15. #define __DLM_DOT_H__
  16.  
  17. /*
  18.  * Interface to Distributed Lock Manager (DLM)
  19.  * routines and structures to use DLM lockspaces
  20.  */
  21.  
  22. /* Lock levels and flags are here */
  23. #include <linux/dlmconstants.h>
  24. #include <linux/types.h>
  25.  
  26. typedef void dlm_lockspace_t;
  27.  
  28. /*
  29.  * Lock status block
  30.  *
  31.  * Use this structure to specify the contents of the lock value block.  For a
  32.  * conversion request, this structure is used to specify the lock ID of the
  33.  * lock.  DLM writes the status of the lock request and the lock ID assigned
  34.  * to the request in the lock status block.
  35.  *
  36.  * sb_lkid: the returned lock ID.  It is set on new (non-conversion) requests.
  37.  * It is available when dlm_lock returns.
  38.  *
  39.  * sb_lvbptr: saves or returns the contents of the lock's LVB according to rules
  40.  * shown for the DLM_LKF_VALBLK flag.
  41.  *
  42.  * sb_flags: DLM_SBF_DEMOTED is returned if in the process of promoting a lock,
  43.  * it was first demoted to NL to avoid conversion deadlock.
  44.  * DLM_SBF_VALNOTVALID is returned if the resource's LVB is marked invalid.
  45.  *
  46.  * sb_status: the returned status of the lock request set prior to AST
  47.  * execution.  Possible return values:
  48.  *
  49.  * 0 if lock request was successful
  50.  * -EAGAIN if request would block and is flagged DLM_LKF_NOQUEUE
  51.  * -ENOMEM if there is no memory to process request
  52.  * -EINVAL if there are invalid parameters
  53.  * -DLM_EUNLOCK if unlock request was successful
  54.  * -DLM_ECANCEL if a cancel completed successfully
  55.  */
  56.  
  57. #define DLM_SBF_DEMOTED        0x01
  58. #define DLM_SBF_VALNOTVALID    0x02
  59. #define DLM_SBF_ALTMODE        0x04
  60.  
  61. struct dlm_lksb {
  62.     int      sb_status;
  63.     __u32     sb_lkid;
  64.     char      sb_flags;
  65.     char *     sb_lvbptr;
  66. };
  67.  
  68. /* dlm_new_lockspace() flags */
  69.  
  70. #define DLM_LSFL_NODIR        0x00000001
  71. #define DLM_LSFL_TIMEWARN    0x00000002
  72. #define DLM_LSFL_FS         0x00000004
  73. #define DLM_LSFL_NEWEXCL         0x00000008
  74.  
  75.  
  76. #endif                /* __DLM_DOT_H__ */
  77.  
  78.